package com.cqqs.controller.dto.res.project;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author mjxie
 * @date 2022/09/23
 */
@ApiModel("分页项目详情-出参")
@Data
public class ProjectDetailRes implements Serializable {
    private static final long serialVersionUID = 5696768300962052308L;


    @ApiModelProperty(value = "项目流水号,新建时为空，更新时不能为空")
    private Integer projectId;

    @ApiModelProperty(value = "项目名称")
    private String name;

    @ApiModelProperty(value = "项目编号（省）")
    private String no;

    @ApiModelProperty(value = "项目编号（分）")
    private String subNo;

    @ApiModelProperty(value = "项目类型")
    private Integer type;

    @ApiModelProperty(value = "出资单位")
    private String contributionDept;

    @ApiModelProperty(value = "预算金额")
    private BigDecimal budget;

    @ApiModelProperty(value = "决算金额")
    private BigDecimal accounts;

    @ApiModelProperty(value = "资本化金额")
    private BigDecimal capitalization;

    @ApiModelProperty(value = "费用化金额")
    private BigDecimal expensization;

    @ApiModelProperty(value = "初始申请费总额")
    private BigDecimal beginApplicationFee;

    @ApiModelProperty(value = "初始申请年费总额")
    private BigDecimal beginAnnualFee;

    @ApiModelProperty(value = "附属载体")
    private String carrier;

    @ApiModelProperty(value = "设备分类")
    private Integer equipmentType;

    @ApiModelProperty(value = "应用阶段（成熟度）:1尚在研究,2本单位应用,3系统内多家单位应用,4全系统推广,5在售产品已采用,6后续产品可能采用,7后续产品确定采用,8淘汰技术")
    private Integer maturity;

    @ApiModelProperty(value = "是否获奖 1 是  0 否")
    private Integer isAward;

    @ApiModelProperty(value = "获奖年份")
    private Integer awardYear;

    @ApiModelProperty(value = "国内市场前景")
    private String domesticProspect;

    @ApiModelProperty(value = "国内市场前景说明")
    private String domesticProspectExplain;

    @ApiModelProperty(value = "国外市场前景")
    private String abroadProspect;

    @ApiModelProperty(value = "国外市场前景说明")
    private String abroadProspectExplain;

    @ApiModelProperty(value = "验收日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime checkDate;

    @ApiModelProperty(value = "承担单位流水号")
    private Integer executeDepartmentId;

    @ApiModelProperty(value = "承担单位名称")
    private String executeDepartment;

    @ApiModelProperty(value = "承担单位编号")
    private String executeDepartmentCode;
}
